<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>数组</title>
</head>
<body>
    <script>
        //push
        var colors=new Array('red','green')
        var len=colors.push('blue','yellow')//在数组末尾添加新元素，返回添加元素后数组的长度
        console.log(colors);
        console.log(len);
        //unshift
        var nums=[2,3,4]
        var size=nums.unshift(99,100)//在数组头部添加元素,返回添加元素后数组的长度
        console.log(nums);
        console.log(size);

        //pop  删除最后一个元素，返回被删除的元素；
        //shift  删除第一个元素，返回被删除的元素
        var n=nums.pop();
        console.log(n);
        console.log(nums);

        //join 用于把数组中的所有元素放入一个字符串中
        var nums=[2,4,5];
        var str=nums.join("-");
        console.log(str);

        //reverse 用于颠倒数组中元素的顺序
        var str=['a','b','c'];
        //返回dbca这个字符串
        console.log(str.reverse().join(''));


        //sort 对数组进行排序
        var arr=[9,23,15,88]
        console.log(words.sort());//15,23,88,9
        //降序
        arr.sort(function (a,b) {return b-a});
        //升序
        arr.sort(function (a,b) {return a-b
            
        })

        //contact 连接数组
        var arr1=['a','b','c'],
            arr2=['d','e',1,3],
            arr3;
        arr3=arr1.concat(arr2);
        console.log(arr3);

        //slice 从已有的数组中返回选定的元素
        var colors3=['red','green','blue','yello','orange']
        var newcolors3=colors3.slice(1,3); //green,blue
        console.log(newcolors3);
        var newcolor4=colors3.slice(-4,3);//(1,3)
        console.log(newcolor4)

        // 完成以下代码段，实现b数组对a数组的拷贝，方法越多越好
        var a=[1,"yes",3],
            b;
        // 1、数组遍历,push
        /*b=new Array();
        for(var i=0;i<a.length;i++){
           b.push(a[i]);
        }*/
        // 2、concat()
        b=[].concat(a);
        // 3、slice();
        b=a.slice(0);
        console.log(b);

        var arr1=["a","b","c","d","e","f"];
//         //删除
//        var delArr=arr1.splice(2,3);
//         //插入
//        var insertArr=arr1.splice(3,0,"m","n",88); //插入后返回的是空数组
//         //替换
        var replaceArr=arr1.splice(1,2,"x","y","z");
        console.log(arr1);
        console.log(replaceArr); //返回值是从原始数组中删掉的项

        var nums=[1,7,5,7,8,1,6,9];
        //var pos=nums.indexOf(7,2);
        //var pos=nums.lastIndexOf(1);
        var pos=nums.indexOf("7");
        console.log(pos);

        // 封装一个方法实现indexOf的功能
        function ArrayIndexOf(arr,value){
            // 检测value在arr中出现的位置
            for(var i=0;i<arr.length;i++){
                if(arr[i]===value){
                    return i;
                }
            }
            return -1;
        }
        var pos2=ArrayIndexOf(nums,"1");
        console.log(pos2)






    </script>
</body>
</html>